/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.uoc.tdp.pac4.only5.manager;

import edu.uoc.tdp.pac4.only5.domain.*;
import edu.uoc.tdp.pac4.only5.exceptions.EespaisDatabaseException;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.List;

/**
 *
 * @author Josep
 * @author Gerard
 * @author Àlex
 */
public interface SpaceManager extends Remote {

    public void addSpace(Space space) throws RemoteException;
    public void modifySpace (Space space) throws RemoteException;
    public void deleteSpace(String spaceId) throws RemoteException;
    public Space getSpace(String spaceId) throws RemoteException;
    public List<Space> getSpaces() throws RemoteException, EespaisDatabaseException;
    public List<Space> getSpacesByPostalCodes(String postalCode) throws RemoteException;
    public List<Space> getUnBookedSpaces() throws RemoteException;
    
    public List<String> getLocationsOfSpaces() throws RemoteException, EespaisDatabaseException;
    public List<Resource> getAllResourcesOfAllSpaces() throws RemoteException, EespaisDatabaseException;
    public List<Space> getSpaces(String locality, Integer capacity, Double priceHour, Double priceDay, Object[] resourcesSelected) throws RemoteException, EespaisDatabaseException;

}
